﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Teenusekiht;
using System.ServiceModel;

public partial class Kohvik_Soodustus : System.Web.UI.Page
{
    IService1 sc;
    private List<ASP.SoodustuseRida> editSoodustusItemUserControlList;
    int kohvikID = 0, role = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        sc = new ChannelFactory<IService1>("Serv").CreateChannel();

        if (Request.QueryString["kohvik"] == null) Response.Redirect("~/Default.aspx");
        else if (int.TryParse(Request.QueryString["kohvik"], out kohvikID)) { }
        else Response.Redirect("~/Default.aspx");

        if (Session["sess"] == null) Session["sess"] = SessionStatic.CreateSession();
        SessionData sesDat = SessionStatic.GetData((int)Session["sess"]);
        role = sesDat.AskRole(kohvikID);

        //if (role == ROLE.OMANIK)
        {
            SoodustusType[] kohvikuSoodustused = sc.AnnaKohvikuSoodustused(kohvikID, Rakendus.RAKENDUSE_KOOD);

            Page.Title += "Soodustused";

            kuvaLeht(kohvikuSoodustused);
        }

    }

    protected void kuvaLeht(SoodustusType[] kohvikuSoodustused)
    {
        editSoodustusItemUserControlList = new List<ASP.SoodustuseRida>();

        if (!IsPostBack) // esimene laadimine
        {
            int n = 0; //hf_asjadeArv.Value = kohvikuSoodustused.Length.ToString();

            foreach (SoodustusType item in kohvikuSoodustused)
            {
                if (item.Kordaja != null)
                {
                    ASP.SoodustuseRida userControl = (ASP.SoodustuseRida)LoadControl("~/UserControls/SoodustuseRida.ascx");
                    userControl.setFields((int)item.Soodustus_ID, item.SoodustuseNimi, (int)item.Kordaja, item.Kommentaar);
                    editSoodustusItemUserControlList.Add(userControl);
                    panelEdit.Controls.Add(userControl);
                }
                n++;
            }
            hf_asjadeArv.Value = "" + n;
        }
        else
        {
            int asju = 0;
            int.TryParse(hf_asjadeArv.Value, out asju);
            for (int i = 0; i < asju; i++)
            {
                ASP.SoodustuseRida usrControl = (ASP.SoodustuseRida)LoadControl("~/UserControls/SoodustuseRida.ascx");
                editSoodustusItemUserControlList.Add(usrControl);
                panelEdit.Controls.Add(usrControl);
            }
        }


    }

    protected void btnMuuda_Click(object sender, EventArgs e)
    {
        bool check = true;
        foreach (ASP.SoodustuseRida usrCtrl in editSoodustusItemUserControlList)
        {
            usrCtrl.getFields();
            check &= usrCtrl.IsValid;
        }
        lblCheck.Text = check ? "Soodustused muudetud." : "";
        lblCheck.ForeColor = System.Drawing.Color.Green;
        if (check)
        {
            foreach (ASP.SoodustuseRida usrCtrl in editSoodustusItemUserControlList)
            {
                //sc.MuudaVoiLisaSoodustust(new SoodustusType()
                //{
                //    Soodustus_ID = usrCtrl.SoodustuseID,
                //    SoodustuseNimi = usrCtrl.SoodustuseNimetus,
                //    Hind = usrCtrl.SoodustuseProtsent,
                //}
                //    //sc.VahetaMenuuArtiklit(new MenyyItem()
                //    //{
                //    //    Id = usrCtrl.MyygiArtikliID,
                //    //    MyygiartikliNimi = usrCtrl.MyygiArtikliNimetus,
                //    //    Hind = usrCtrl.MyygiArtikliHind,
                //    //    Kaup_ID = usrCtrl.KaupID,
                //    //    Kommentaar = usrCtrl.MyygiArtikliKomm
                //, Rakendus.RAKENDUSE_KOOD);
            }
        }

    } // end btnMuuda_Click

    protected void btnLisa_Click(object sender, EventArgs e)
    {
        //string nimetus = uusMenuItemNimi.Text, komm = uusMenuItemKomm.Text;
        //int? hind = UserControls_EditMenuItem.parseHind(uusMenuItemHind.Text);
        //if (hind != null) //if (int.TryParse(uusMenuItemHind.Text, out hind))
        //{
        //    sc.LisaMenuuArtikkelMenuuse(new MenyyItem()
        //    {
        //        MyygiartikliNimi = nimetus,
        //        Hind = (int)hind,
        //        Kommentaar = komm,
        //        Kaup_ID = int.Parse(ddl_kaupID.SelectedValue)
        //    }, menuID, Rakendus.RAKENDUSE_KOOD);
        //    Response.Redirect("~/Kohvik/EditMenu.aspx?menu=" + menuID);
        //}
        //else lbl_uusMenuItemHindError.Text = "Sisesta hind arvuna! Näiteks 0,99";

    }

    protected void btnKustuta_Click(object sender, EventArgs e)
    {
        //LinkedList<int> ids = new LinkedList<int>();
        //foreach (ASP.EditMenuItem usrCtrl in editMenuItemUserControlList)
        //{
        //    if (usrCtrl.checkBoxChecked())
        //    {
        //        usrCtrl.getFields();
        //        ids.AddLast(usrCtrl.MyygiArtikliID);
        //    }
        //}
        ////string idStr = "";
        ////foreach (int id in ids) idStr += id + " , ";
        //bool success = sc.KustutaMenuuArtikkel(ids.ToArray(), Rakendus.RAKENDUSE_KOOD);
        //
        //if (success) Response.Redirect("~/Kohvik/EditMenu.aspx?menu=" + menuID);
        //else
        //{
        //    lblCheck.Text = "Kustutamisel tekkis probleem.";
        //    lblCheck.ForeColor = System.Drawing.Color.Red;
        //}

    }

    protected void btnLisaExist_Click(object sender, EventArgs e)
    {
        //int myygiArtikliID = int.Parse(ddl_Myygiartikkel.SelectedValue);
        //int? id = sc.LisaArtikkelMenuuse(myygiArtikliID, menuID, Rakendus.RAKENDUSE_KOOD);
        //if (id != null) Response.Redirect("~/Kohvik/EditMenu.aspx?menu=" + menuID);
    }

    protected void btnLisaKaup_Click(object sender, EventArgs e)
    {
        //string kaubaNimi = tbKaubaNimi.Text;
        //int? id = sc.LisaKaup(kaubaNimi, Rakendus.RAKENDUSE_KOOD);
        //if (id != null) Response.Redirect("~/Kohvik/EditMenu.aspx?menu=" + menuID);

    }
}